home *** CD-ROM | disk | FTP | other *** search
- ; Startup module for SAS, and probably most other Amiga compilers
-
- include "t:__Config__.a"
-
- ifd SMALL_DATA
- xref _LinkerDB
- endc
- xref __BSSLEN
- xref __BSSBAS
- xref __Startup
-
- section text,code
-
- ifd SMALL_DATA
- bsr.s __geta4
- lea __BSSBAS(a4),a0
- else
- lea __BSSBAS,a0
- endc
-
- move.l #__BSSLEN,d0
- beq.s ClearBSSDone
- ClearBSSLoop:
- clr.l (a0)+
- subq.l #1,d0
- bne.s ClearBSSLoop
- ClearBSSDone:
-
- ifd SMALL_DATA
- move.l SP,StackPointer(a4)
- else
- move.l SP,StackPointer
- endc
-
- ifd SMALL_CODE
- bra __Startup
- else
- jmp __Startup
- endc
-
- xdef ___exit
- ___exit:
- move.l 4(SP),d0
- ifd SMALL_DATA
- move.l StackPointer(a4),SP
- else
- move.l StackPointer,SP
- endc
-
- xdef __geta4
- __geta4:
- ifd SMALL_DATA
- lea _LinkerDB,a4
- endc
- rts
-
- SECTION bss,bss
-
- StackPointer: ds.l 1
-
- END
-